package com.shop.cloud.domain.hongfu;

import java.time.OffsetDateTime;
import java.util.Date;
import java.math.BigDecimal;
import java.sql.Timestamp;

import org.apache.commons.lang3.builder.ToStringBuilder;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.shop.cloud.common.mapper.OffsetDateTimeToIso8601Serializer;
import com.shop.cloud.common.mybatis.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * goods_inventory-goods_inventory
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class GoodsInventory extends BaseEntity{

	private static final long serialVersionUID = 1L;
	
	public static final int PRICE_TYPE_BALANCE = 1;
	public static final int PRICE_TYPE_POINTS = 2;
    
	/**
	 * 商品id号
	 */
	@ApiModelProperty(value = "商品id号")
	 private Long goodsId;
	/**
	 * 商品规格组合id集合。使用json数据存放。例如：[“1”,“2”]
	 */
	@ApiModelProperty(value = "商品规格组合id集合。使用json数据存放。例如：[“1”,“2”]")
	 private String features;
	/**
	 * 价格类型。1元，2积分
	 */
	@ApiModelProperty(value = "价格类型。1元，2积分")
	 private Integer pricetype;
	/**
	 * 商品价格。当priceType=1时有效
	 */
	@ApiModelProperty(value = "商品价格。当priceType=1时有效")
	 private Float pricebalance;
	/**
	 * 商品价格。当priceType=2时有效
	 */
	@ApiModelProperty(value = "商品价格。当priceType=2时有效")
	 private Integer pricepoints;
	/**
	 * 商品市场价
	 */
	@ApiModelProperty(value = "商品市场价")
	 private Float marketprice;
	/**
	 * 库存量
	 */
	@ApiModelProperty(value = "库存量")
	 private Integer inventory;
	/**
	 * 已售销量
	 */
	@ApiModelProperty(value = "已售销量")
	 private Integer selled;
	/**
	 * 库存预警值
	 */
	@ApiModelProperty(value = "库存预警值")
	 private Integer warnedInventory;
	/**
	 * 剩余库存
	 */
	@ApiModelProperty(value = "剩余库存")
	 private Integer remainInventory;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	private Timestamp createTime;
	/**
	 * 更新时间
	 */
	@ApiModelProperty(value = "更新时间")
	private Timestamp updateTime;
    
	
	public GoodsInventory(){
		
	}
	
    public Integer getRemainInventory() {
		return remainInventory;
	}

	public void setRemainInventory(Integer remainInventory) {
		this.remainInventory = remainInventory;
	}
    
    public Long getGoodsId() {
        return this.goodsId;
    }
    
    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }
    public String getFeatures() {
        return this.features;
    }
    
    public void setFeatures(String features) {
        this.features = features;
    }
    public Integer getPricetype() {
        return this.pricetype;
    }
    
    public void setPricetype(Integer pricetype) {
        this.pricetype = pricetype;
    }
    public Float getPricebalance() {
        return this.pricebalance;
    }
    
    public void setPricebalance(Float pricebalance) {
        this.pricebalance = pricebalance;
    }
    public Integer getPricepoints() {
        return this.pricepoints;
    }
    
    public void setPricepoints(Integer pricepoints) {
        this.pricepoints = pricepoints;
    }
    public Float getMarketprice() {
        return this.marketprice;
    }
    
    public void setMarketprice(Float marketprice) {
        this.marketprice = marketprice;
    }
    public Integer getInventory() {
        return this.inventory;
    }
    
    public void setInventory(Integer inventory) {
        this.inventory = inventory;
    }
    public Integer getSelled() {
        return this.selled;
    }
    
    public void setSelled(Integer selled) {
        this.selled = selled;
    }
    public Integer getWarnedInventory() {
        return this.warnedInventory;
    }
    
    public void setWarnedInventory(Integer warnedInventory) {
        this.warnedInventory = warnedInventory;
    }
    public Timestamp getCreateTime() {
        return this.createTime;
    }
    
    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }
    public Timestamp getUpdateTime() {
        return this.updateTime;
    }
    
    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

}